package com.bw.utils;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;

import java.util.HashMap;

/**
 * @author Monte
 * @author 644527030@qq.com
 * @author 知识改变命运，代码改变世界！
 * @date 2024年07月24日    10:55
 * @PackageName:com.bw.controller
 * @ClassName: SmsUtil
 * @Description HomeController
 */

public class SmsUtil {

    /**
     * 短信验证码发送（国阳云）
     * @param mobile 接收短信的手机号
     * @param code 短信验证码
     * @param minute 验证码有效期
     * @param errNum 发送失败的重试次数
     * @return
     */
    public static Boolean sendCode(String mobile, String code, String minute, int errNum){

        for (int i=0; i<errNum; i++){
            HashMap<String, Object> hashMap = new HashMap<>(4);
            // 接收短信的手机号
            hashMap.put("mobile", mobile);
            // 短信验证码及短信验证码有效时间
            hashMap.put("param","**code**:"+code+",**minute**:"+minute);
            // 模板签名id 如：【八维】、【哔哩哔哩】、【陌陌】···
            hashMap.put("smsSignId", "2e65b1bb3d054466b82f0c9d125465e2");
            // 短信模板id
            hashMap.put("templateId", "908e94ccf08b4476ba6c876d13f084ad");


            // 设置短信发送接口地址（类似form的action的值）
            String body = HttpRequest.post("http://gyytz.market.alicloudapi.com/sms/smsSend")
                    // 设置短信发送接口需要的数据（类似form的input的表单提交）
                    .form(hashMap)
                    // 设置请求头和请求值
                    .header("Authorization", "APPCODE 572a913a724a4dd2bbc91be4f6526343")
                    // 执行发送，并且返回发送结果
                    .execute().body();

            System.out.println(body);
            if (body.contains("成功")){
                return true;
            }
        }

        return false;


    }
}
